Skip to main content

Key Concepts

Let’s take a look at some of the important concepts to help you get more familiar with BuildPiper.

Services#

A Service in Kubernetes is an abstraction that defines a logical set of pods and a policy that is used to access them. These services enable a loose coupling between dependent pods. A service is defined using YAML (preferred) or JSON, like all Kubernetes objects.

Cluster#

A Kubernetes cluster is a set of nodes that run containerized applications. A Kubernetes cluster consists of one master node and a number of worker nodes. These nodes can either be physical computers or virtual machines, depending on the cluster.

Applications#

An application is a combination of multiple Microservices that clubs together to perform a specific function. A project is a bundle of applications. Assigned within a project, these applications get structured as a collection of services to become entities that are,

  • Highly maintainable
  • Loosely coupled
  • Independently deployable
  • Organized around business capabilities
  • Owned by a small team The microservice architecture enables rapid, frequent, and reliable delivery of such large and complex applications thus enabling organizations to enable a quick and secured product release.

Dockerfile#

Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user can call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.

Jobs in Kubernetes#

A job creates one or more pods and will continue to retry execution of the Pods until a specified number of them successfully terminate. As pods successfully complete the assigned task, the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete. Deleting a Job will clean up the Pods it created. Our product Buildpiper supports secure and intuitive set-up of 4 job types that include,

  • Build
  • Deploy
  • Promote
  • API Call

Autoscaling#

Autoscaling is an important feature of the Kubernetes cluster. It is a feature in which the cluster is capable of increasing the number of pods as the demand for service response increases and decreases the number of pods when the requirement decreases.

Ingress#

Ingress is an API object that provides routing rules to manage external users' access to the services in a Kubernetes cluster, typically via HTTPS/HTTP. With Ingress, you can easily set up rules for routing traffic without creating a bunch of Load Balancers or exposing each service on the node. Click here to know more about Ingress.